「振舞い」の日本語が示すように、ユーザインタフェースの「動作」を規定したクラス。
MVVM以前はコードビハインドに記述していたようなユーザ操作の購読や表示に関わるプロパティを独立させることで、コントロールの振舞いのみを再利用することができる。
本記事は
MVVM Toolkitに含まれる BlendBehavior について記す。
(基底クラスは Microsoft.Xaml.Behaviors.Behavior<TTarget> 。)
入力できる文字を TextBox ごとに切り替える場合、ビヘイビアを用いないのであれば、それぞれの TextBox に PreviewTextInput や PreviewKeyDown のイベントを実装する方法が考えられる。
ビヘイビアを用いることで、これらの「(イベントに対する)振舞い」の部品化が可能となる。

BlendBehavior は Microsoft.Xaml.Behaviors.Behavior<TTarget> を継承して作成する。TTarget は適用先(コントロール)の型(ここでは TextBox )である。
BlendBehavior には
依存関係プロパティを実装でき、データバインディングのターゲットとすることができる。
( ViewModel の状況に応じてビヘイビアの振舞いを切り替えたい場合に有効。)
必須の手順としては、OnAttached() メソッドのオーバーライドが挙げられる。これはコントロールの生成時にコールされ、ビヘイビアをコントロールに適用する際の処理である。